In the field of web analytics, website owners and/or third party vendors collect data when users visit websites. Such data may include information about visitors (e.g., visitor names, visitor ages, visitor demographics, etc.), where visitors are located, how well the website performs (e.g., page load times), and how a visitor interacts with the website (e.g., mouse-overs, mouse-clicks, and other events indicating visitor behavior). Tags may be placed on web pages to facilitate collection of the data. Once collected, the data may be used for various purposes, such as marketing. For example, a marketing team may use web analytics to determine how to improve a website to increase traffic and/or generate more sales.
As mobile devices (e.g., smartphones, tablets, etc.) become increasingly popular, more and more organizations (e.g., businesses) are using mobile applications to connect with people (e.g., customers, users, etc.). Mobile applications are applications designed to run on mobile devices. Mobile devices typically have less processing power and smaller screens than other computing devices, and therefore, have specially designed operating systems for running specially designed applications. Examples of operating systems for mobile devices include ANDROID (provided by Google) and iOS (provided by Apple).
As mentioned, mobile applications, like web pages, are used to connect organizations with people. As such, organizations may desire to collect analytics similar to web analytics but related to the use of mobile applications. For example, organizations may be interested in obtaining information about users of their mobile applications (e.g., user names, user ages, user demographics, etc.), where users are located, how well their mobile applications perform (e.g., whether a mobile application crashes or freezes, how long a mobile application takes to provide information or images, etc.), and how users interact with their mobile applications (e.g., where users click, where users mover their mouse, etc.). Such analytics may be obtained by placing code in mobile applications to capture data and transmit the data to a backend system.
Once analytics related to mobile applications are obtained, it may be challenging to use the analytics to improve the mobile applications. Unlike web pages which may be readily modified, mobile applications are installed on and executed by mobile devices that are controlled by users. That is, organizations that produce mobile applications generally do not have control over the mobile devices that are running their mobile applications. Without access to the mobile devices, an organization may have difficulty providing a modified version of its mobile application, such as a version that is modified in light of analytics. An organization may attempt to modify its mobile application by sending updates or inviting users to re-install a modified version of the mobile application, but these efforts generally require the cooperation of users and/or third party entities. For example, an organization wishing to offer an updated or modified version of its mobile application may have to submit the modified version or software development kit (SDK) to an online “app store” (e.g., Apple Store, Google Play, etc.) for registration and approval. The online app store may take days, weeks, or months, to approve the modified version or SDK. Then, assuming the modified version or SDK is approved, there may be an additional delay before the modified version or SDK even appears on the online “app store.” There may be an even further delay because an end user may still need to download and install the modified version (which may include overwriting or uninstalling the previous (or unmodified) version of the mobile application) or SDK.
The time it may take to deliver the modified version of a mobile application or SDK may deter some organizations from releasing modified versions or SDKs for marketing purposes. In particular, obstacles to releasing the modified versions of a mobile application or SDKs for a mobile application may keep some organizations from implementing analytics solutions, such as multivariate testing and/or content swapping with respect to their mobile applications.
Multivariate testing may refer to the modifying of elements on a page or interface to create different versions of the page or interface for testing how users react to the different versions. An objective of multivariate testing may be to determine which version of a page or interface produces, for example, the most sales or most clicks. One example of multivariate testing is sometimes referred to as A/B testing. In A/B testing, two versions (version A and version B) of a page or interface are provided (e.g., randomly) to different users to see which version provides the best results. For example, A/B testing may include providing a web page with a blue background to some visitors and the same web page with a white background to other visitors. Then, behavioral results (e.g., number of sales, how long users remained on the web page, how many mouse-over events (or other events) occurred, etc.) associated with the two backgrounds may be compared to determine which background is more favorable. Organizations providing mobile applications may wish to perform similar multivariate testing for their mobile applications; however, they might not want to resubmit their mobile applications to mobile stores and/or want to employ or hire programmers to develop the different tests. Further, organizations may want to perform content swapping to change the appearance of their mobile application. However, again, they might not want to resubmit their mobile applications to mobile stores and/or want to employ or hire programmers just to make changes in appearance.
In light of the above, it should be understood that there may be a demand among, for example, organizations providing mobile applications to readily make changes to their analytics solutions without having to recompile mobile applications and resubmit mobile applications or submit SDKs to an “app store.” In other words, there may be a demand for a tool that performs tag changes in real-time without application code modification. In particular, there may be a demand to perform multivariate testing or content swapping for a mobile application, and to optimize and/or personalize mobile applications based on results of the multivariate testing and/or user profiles. For example, there may be a demand to change ad strategies or A/B test ad strategies in real-time as well as to trigger different ad strategies based on conditional logic (e.g., user interests or user preferences, geography, application usage, time, battery life, etc.).